home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / mozilla-firefox / include / layout / nsISVGGlyphMetricsSource.h < prev    next >
C/C++ Source or Header  |  2006-05-08  |  5KB  |  161 lines

  1. /*
  2.  * DO NOT EDIT.  THIS FILE IS GENERATED FROM nsISVGGlyphMetricsSource.idl
  3.  */
  4.  
  5. #ifndef __gen_nsISVGGlyphMetricsSource_h__
  6. #define __gen_nsISVGGlyphMetricsSource_h__
  7.  
  8.  
  9. #ifndef __gen_nsISVGGeometrySource_h__
  10. #include "nsISVGGeometrySource.h"
  11. #endif
  12.  
  13. /* For IDL files that don't want to include root IDL files. */
  14. #ifndef NS_NO_VTABLE
  15. #define NS_NO_VTABLE
  16. #endif
  17. #include "nsFont.h"
  18.  
  19. /* starting interface:    nsISVGGlyphMetricsSource */
  20. #define NS_ISVGGLYPHMETRICSSOURCE_IID_STR "8e96a973-c8bb-43a2-8584-4976e75ca478"
  21.  
  22. #define NS_ISVGGLYPHMETRICSSOURCE_IID \
  23.   {0x8e96a973, 0xc8bb, 0x43a2, \
  24.     { 0x85, 0x84, 0x49, 0x76, 0xe7, 0x5c, 0xa4, 0x78 }}
  25.  
  26. /**
  27.  * \addtogroup rendering_backend_interfaces Rendering Backend Interfaces
  28.  * @{
  29.  */
  30. /**
  31.  * Abstracts a description of a 'composite glyph' (character string
  32.  * with associated font and styling information) in the SVG rendering
  33.  * backend for use by a rendering engine's nsISVGRendererGlyphMetrics
  34.  * objects.
  35.  *
  36.  * An engine-native glyph metrics object will be informed of changes
  37.  * in its associated composite glyph with a call to its
  38.  * nsISVGRendererGlyphMetrics::update() method with an OR-ed
  39.  * combination of the UPDATEMASK_* constants defined in this interface
  40.  * (and its base-interface).
  41.  *
  42.  * @nosubgrouping
  43.  */
  44. class NS_NO_VTABLE nsISVGGlyphMetricsSource : public nsISVGGeometrySource {
  45.  public: 
  46.  
  47.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISVGGLYPHMETRICSSOURCE_IID)
  48.  
  49.   /**
  50.    * @name Font
  51.    * @{
  52.    */
  53.   /* [noscript] readonly attribute nsFont font; */
  54.   NS_IMETHOD GetFont(nsFont *aFont) = 0;
  55.  
  56.   enum { UPDATEMASK_FONT = 32768U };
  57.  
  58.   /** @} */
  59. /**
  60.    * @name Character data
  61.    * @{
  62.    */
  63.   /* readonly attribute DOMString characterData; */
  64.   NS_IMETHOD GetCharacterData(nsAString & aCharacterData) = 0;
  65.  
  66.   enum { UPDATEMASK_CHARACTER_DATA = 65536U };
  67.  
  68.   /** @} */
  69. /**
  70.    * @name Text rendering mode
  71.    * @{
  72.    */
  73.   enum { TEXT_RENDERING_AUTO = 0U };
  74.  
  75.   enum { TEXT_RENDERING_OPTIMIZESPEED = 1U };
  76.  
  77.   enum { TEXT_RENDERING_OPTIMIZELEGIBILITY = 2U };
  78.  
  79.   enum { TEXT_RENDERING_GEOMETRICPRECISION = 3U };
  80.  
  81.   /* readonly attribute unsigned short textRendering; */
  82.   NS_IMETHOD GetTextRendering(PRUint16 *aTextRendering) = 0;
  83.  
  84.   enum { UPDATEMASK_TEXT_RENDERING = 131072U };
  85.  
  86. };
  87.  
  88. /* Use this macro when declaring classes that implement this interface. */
  89. #define NS_DECL_NSISVGGLYPHMETRICSSOURCE \
  90.   NS_IMETHOD GetFont(nsFont *aFont); \
  91.   NS_IMETHOD GetCharacterData(nsAString & aCharacterData); \
  92.   NS_IMETHOD GetTextRendering(PRUint16 *aTextRendering); \
  93.  
  94. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  95. #define NS_FORWARD_NSISVGGLYPHMETRICSSOURCE(_to) \
  96.   NS_IMETHOD GetFont(nsFont *aFont) { return _to GetFont(aFont); } \
  97.   NS_IMETHOD GetCharacterData(nsAString & aCharacterData) { return _to GetCharacterData(aCharacterData); } \
  98.   NS_IMETHOD GetTextRendering(PRUint16 *aTextRendering) { return _to GetTextRendering(aTextRendering); } \
  99.  
  100. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  101. #define NS_FORWARD_SAFE_NSISVGGLYPHMETRICSSOURCE(_to) \
  102.   NS_IMETHOD GetFont(nsFont *aFont) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFont(aFont); } \
  103.   NS_IMETHOD GetCharacterData(nsAString & aCharacterData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCharacterData(aCharacterData); } \
  104.   NS_IMETHOD GetTextRendering(PRUint16 *aTextRendering) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTextRendering(aTextRendering); } \
  105.  
  106. #if 0
  107. /* Use the code below as a template for the implementation class for this interface. */
  108.  
  109. /* Header file */
  110. class nsSVGGlyphMetricsSource : public nsISVGGlyphMetricsSource
  111. {
  112. public:
  113.   NS_DECL_ISUPPORTS
  114.   NS_DECL_NSISVGGLYPHMETRICSSOURCE
  115.  
  116.   nsSVGGlyphMetricsSource();
  117.  
  118. private:
  119.   ~nsSVGGlyphMetricsSource();
  120.  
  121. protected:
  122.   /* additional members */
  123. };
  124.  
  125. /* Implementation file */
  126. NS_IMPL_ISUPPORTS1(nsSVGGlyphMetricsSource, nsISVGGlyphMetricsSource)
  127.  
  128. nsSVGGlyphMetricsSource::nsSVGGlyphMetricsSource()
  129. {
  130.   /* member initializers and constructor code */
  131. }
  132.  
  133. nsSVGGlyphMetricsSource::~nsSVGGlyphMetricsSource()
  134. {
  135.   /* destructor code */
  136. }
  137.  
  138. /* [noscript] readonly attribute nsFont font; */
  139. NS_IMETHODIMP nsSVGGlyphMetricsSource::GetFont(nsFont *aFont)
  140. {
  141.     return NS_ERROR_NOT_IMPLEMENTED;
  142. }
  143.  
  144. /* readonly attribute DOMString characterData; */
  145. NS_IMETHODIMP nsSVGGlyphMetricsSource::GetCharacterData(nsAString & aCharacterData)
  146. {
  147.     return NS_ERROR_NOT_IMPLEMENTED;
  148. }
  149.  
  150. /* readonly attribute unsigned short textRendering; */
  151. NS_IMETHODIMP nsSVGGlyphMetricsSource::GetTextRendering(PRUint16 *aTextRendering)
  152. {
  153.     return NS_ERROR_NOT_IMPLEMENTED;
  154. }
  155.  
  156. /* End of implementation class template. */
  157. #endif
  158.  
  159.  
  160. #endif /* __gen_nsISVGGlyphMetricsSource_h__ */
  161.